package xyz.xtt.admin.vo;

import java.math.BigDecimal;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 资产交易记录表
 * </p>
 *
 * @author author
 * @since 2024-12-03
 */
@Data
@EqualsAndHashCode(callSuper = false)
public class AssetTransactionVo {

    private static final long serialVersionUID = 1L;

    /**
     * id
     */
    @TableId(value = "order_id", type = IdType.AUTO)
    private Long orderId;

    /**
     * 资产表ID
     */
    private Long assetId;

    /**
     * 卖家用户ID(业务系统)
     */
    private String sellerUserId;

    private String sellerUserName;

    /**
     * 卖家区块链账户
     */
    private String sellerChainAccount;

    /**
     * 买家用户ID(业务系统)
     */
    private String buyerUserId;
    private String buyerUserName;

    /**
     * 买家区块链账户
     */
    private String buyerChainAccount;

    /**
     * 交易状态
     0：进行中，1：完成，2：失败
     */
    private Integer dealState;
    private String dealStateName;

    /**
     * 交易区块
     */
    private String dealBlockNum;

    /**
     * 交易hash
     */
    private String dealHash;

    /**
     * 上链时间
     */
    private Long upChainDatetime;

    /**
     * 建立交易时间
     */
    private Long dealCreateDatetime;

    /**
     * 完成交易时间
     */
    private Long dealFinishDatetime;

    /**
     * 创建支付订单时间（支付中心）
     */
    private Long playCreateOrderDatetime;

    /**
     * 订单编号  会重
     */
    private String orderNo;

    /**
     * 交易流水号（支付中心）
     */
    private String tradeNo;

    /**
     * 支付状态
     */
    private Integer payState;
    private String payStateName;

    /**
     * 支付类型0创建1加购（支付中心）
     */
    private Integer orderType;

    /**
     * 支付价格
     */
    private BigDecimal price;

    /**
     * busId 商品id
     */
    private String goodsId;

    /**
     * 出售方式 0:出售1：寄售2：赠送3：拍卖
     */
    private Integer sellPattern;
    private String sellPatternName;

    /**
     * 计价单价 0通宝1通钻2人民币
     */
    private Integer unit;
    private String unitName;

    /**
     * 交易数量
     */
    private BigDecimal amount;

    /**
     * 资产名称
     */
    private String assetName;

    /**
     * 资产分类名称
     */
    private String className;

    /**
     * 资产一级分类
     */
    private Integer firstType;

    /**
     * 资产二级分类
     */
    private Integer secondType;

}
